package com.cqs.leetcode.dp;

/**
 * @author lixqw
 * @date 2020/8/22
 */
public class LCOF {


    /**
     * f(i) 表示 第一个元素的最大连续子和
     *
     * f(i) = max{f(i-1) + nums[i],nums[i]}
     * @param nums
     * @return
     */
    public int maxSubArray(int[] nums) {
        //表示nums[i]参与的最大连续子和
        int tmp = nums[0];
        int max = nums[0];
        for (int i = 1; i < nums.length; i++) {
            tmp = Math.max(tmp, tmp +nums[i]);
            if (tmp > max) {
                max = tmp;
            }
        }
        return max;
    }
}
